Correlates the items of this indexed collection with the items of another sequence and groups the results by the item of the second sequence.

Implements IIndexScanner(T).GroupJoin

Namespace:  C1.LiveLinq.Indexing
Assembly:  C1.LiveLinq (in C1.LiveLinq.dll)

Syntax

C#
public IEnumerable<TResult> GroupJoin<T2, TResult>(
	IEnumerable<T2> source,
	Func<T2, Object> keySelector,
	Func<IEnumerable<T>, T2, TResult> resultSelector
)
Visual Basic
Public Function GroupJoin(Of T2, TResult) ( _
	source As IEnumerable(Of T2), _
	keySelector As Func(Of T2, Object), _
	resultSelector As Func(Of IEnumerable(Of T), T2, TResult) _
) As IEnumerable(Of TResult)

Parameters

source
Type: System.Collections.Generic..::..IEnumerable<(Of <(<'T2>)>)>
The second sequence to join to this collection.
keySelector
Type: System..::..Func<(Of <(<'T2, Object>)>)>
A function to extract from an item of the second sequence the value to match against this collection's key value.
resultSelector
Type: System..::..Func<(Of <(<'IEnumerable<(Of <(<'T>)>)>, T2, TResult>)>)>
A function to create a result element from an element of the second sequence and the collection of matching elements from this collection.

Type Parameters

T2
The type of the elements of the second sequence.
TResult
The type of the result elements.

Return Value

Enumeration of objects obtained by applying the result selector to group pairs, where each pair consists of an item of the second collection and the corresponding enumeration of the items of this collection joined to it.

See Also